package com.chancein.cloud.report.charts.common.constant;

/**
 * 与 http 相关的一些常量
 *
 * @author: LiaoZiHao
 * @date: 2023/8/4 10:41
 * Copyright © 2022 Hundsun Technologies Inc. All Rights Reserved
 */
public class HttpConstant {
    // 504 网关超时常量
    public static final String HTTP_GATEWAY_TIMEOUT = "HTTP_GATEWAY_TIMEOUT:";
    // 401 token 常量
    public static final String HTTP_UNAUTHORIZED = "HTTP_UNAUTHORIZED:";
    // 500 服务器异常 常量
    public static final String HTTP_INTERNAL_ERROR = "HTTP_INTERNAL_ERROR:";
    // 404 FileNotFound
    public static final String HTTP_NOT_FOUND = "HTTP_NOT_FOUND:";

    // 写入文件中的 504 网关错误信息
    public static final String HTTP_504_FILE_ERROR = "[HTTP_GATEWAY_TIME_OUT 504]";
    // 写入文件中的 401 token 信息
    public static final String HTTP_401_FILE_ERROR = "[HTTP_UNAUTHORIZED 401]";
    // 写入文件中的 500 系统错误信息
    public static final String HTTP_500_FILE_ERROR = "[HTTP_INTERNAL_ERROR 500]";
    // 写入文件中的 未知错误信息
    public static final String HTTP_BLANK_FILE_ERROR = "{}";

    // TODO [同一条]研报重试次数
    // [同一条]研报OCR解析数据504超时重试次数
    public static final Integer SAME_GATEWAY_TIMEOUT_ERROR_COUNT = 3;
    // [同一条]研报登录接口401重试次数
    public static final Integer SAME_UNAUTHORIZED_ERROR_COUNT = 5;
    // [同一条]研报登录接口404重试次数
    public static final Integer SAME_NOT_FOUND_ERROR_COUNT = 5;

    // TODO [100条重试次数]
    // [100条]研报401超时重试次数
    public static final Integer GLOBAL_UNAUTHORIZED_ERROR_COUNT = 10;
    // [100条]研报504超时重试次数
    public static final Integer GLOBAL_GATEWAY_TIMEOUT_ERROR_COUNT = 25;
    // [100条]研报500超时重试次数
    public static final Integer GLOBAL_INTERNAL_ERROR_COUNT = 20;

    // OCR 504超时报错 超过全局重试次数时，线程睡眠时间  (1小时)
    public static final long OCR_504_DELAY_TIME = 60 * 60 * 1000;
    // OCR 401无权限报错 超过全局重试次数时，线程睡眠时间  (30分钟)
    public static final long OCR_401_DELAY_TIME = 30 * 60 * 1000;
    // OCR 500未知报错 超过全局重试次数时，线程睡眠时间  (30分钟)
    public static final long OCR_500_DELAY_TIME = 30 * 60 * 1000;
    // SubmitLogin 500 报错 超过重试次数时，线程睡眠时间  (10分钟)
    public static final long LOGIN_500_DELAY_TIME = 10 * 60 * 1000;
    // SubmitLogin 404 报错 超过重试次数时，线程睡眠时间  (10分钟)
    public static final long LOGIN_404_DELAY_TIME = 30 * 60 * 1000;
}
